﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace AF_Application.Interface.Cache
{
    public interface ICacheProvider : IDisposable
    {
        T Get<T>(string key, string bucket = "", string password = "");
        object Get(string key, Type type, string bucket = "", string password = "");
        bool Set<T>(string key, T data, uint lifeSeconds = 0, string bucket = "", string password = "");
        bool Exists(string key, string bucket = "", string password = "");
        bool Remove(string key, string bucket = "", string password = "");
        List<T> GetViewData<T>(string docName, string viewName, int pageIndex, int pageSize, out int totalRows, bool isDevView = false, string bucket = "", string password = "");

    }
}
